'use strict';
//////////////////////////////////////////////////////////////////////////////
// 编译 字符串中的中文 方便Cookie保存
// =====================
// liuyp 2018年12月20日11:28:08
//////////////////////////////////////////////////////////////////////////////
function encode(str){
    return !str?"":(str+"").replace(/[\u4e00-\u9fa5]/g,function(v){ return escape(v) })
}
function decode(str){
    return unescape(str)
}
//////////////////////////////////////////////////////////////////////////////
// Cookie保存/获取/删除
// =====================
// liuyp 2018年12月20日11:28:08 中文转义
//////////////////////////////////////////////////////////////////////////////
function set(name,content,time,path,domain,noEscape){
    var expire=new Date;
    expire.setTime(expire.getTime()+time*1e3);
    document.cookie=name+"="+((noEscape)?content:encode(content))
        +"; expires="+expire.toGMTString()+((path)?"; path="+path:"; path=/")
        +((domain)?"; domain="+domain:"")
    if( ! content ) { del(name); }
}
function get(name){
    var r=new RegExp("(^| )"+name+"=([^;]*)(;|$)"),
        result=document.cookie.match(r);
    if(null!=result){return decode(result[2])}
    return""
}
function getAll(){
    var s=document.cookie,a1=s.split("; "),a2=[];
    for(i=0;i<a1.length;i++){var t=a1[i].split("=");a2.push(t[0])}
    return a2;
}
function del(name,path,domain){
    var n=get(name); if(null==n)return;
    document.cookie=name+"="+((path)?"; path="+path:"; path=/")
        +((domain)?"; domain="+domain:"")+";expires=Fri, 02-Jan-1970 00:00:00 GMT"
}
function delAll(){
    var keys=document.cookie.match(/[^ =;]+(?=\=)/g);
    if (keys) { for (var i = keys.length; i--;)
        document.cookie=keys[i]+'=0;expires=' + new Date( 0).toUTCString()
    }
}
exports = module.exports = {
    set,
    get,
    getAll,
    del,
    delAll
}